Universal Serial Bus (USB) is one way in which users may connect devices to their computers. For USB connected devices, a standard way does not exist to define, retrieve or provide rich device status and configuration information over a USB connection. As a result, hardware developers are forced to create custom device-specific software, such as port monitors and language monitors, designed to handle communication of status and configuration for devices on an individual basis. Such device-specific software is traditionally developed using complex binary coding. Moreover, duplicate efforts are performed by different hardware developers to create their own custom solutions. As such, use of many different custom solutions may increase development costs, cause driver reliability issues, and contribute to instability of a computing platform.